﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Biosek;

namespace DatasetFileConverter
{
	public class DestinoToARFF
	{
		/// <summary>
		/// Convierte el archivo <paramref name="src"/> en formato DESTINO
		/// al archivo <paramref name="dst" /> en formato ARFF
		/// </summary>		
		public static void Convert(string src, string dst, Random randomize)
		{
			Console.WriteLine("Cargando muestras");
			var data = DestinoHelper.LoadPlain<int>(src);
			Console.WriteLine("Guardando ARFF");
			if (randomize != null) SamplerHelper.Shuffle(randomize, data);
			ARFFHelper.SavePlain(dst, data);
		}
	}
	
	public static class DestinoToCSV
	{
		/// <summary>
		/// Convierte el archivo <paramref name="src"/> en formato DESTINO
		/// al archivo <paramref name="dst" /> en formato CSV.
		/// Si <param name="randomize" /> es diferente de NULL se aleatoriza el orden de las muestras
		/// </summary>
		public static void Convert(string src, string dst, Random randomize)
		{
			Console.WriteLine("Cargando muestras");
			var data = DestinoHelper.LoadPlain<int>(src);
			Console.WriteLine("Guardando CSV");
			if (randomize != null) SamplerHelper.Shuffle(randomize, data);
			NumericCsvHelper.SavePlain(dst, data);
		}
	}
}
